﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using System.Collections;
using System.Collections.Generic;
using System.Globalization;

namespace Bussiness.Service
{
    public static class Formater
    {
        public static bool isNull(String str) {
            return str == null || str == "";
        }
        public static bool isNull(List<Object> list)
        {
            return list == null || list.Count == 0;
        }
        
       
    }

    public static class Utils
    {
        //Creat by SuNV
        //Updated 17/12/2012
        public static string FormatMoney(string input)
        {
            try
            {
                if (input.Length < 4) return input;
                return double.Parse(input).ToString("###,###,###,##0").Trim();
            }
            catch
            {
                return input;
            }
        }
        public static string FormatDecimal(object num)
        {
            if (num.ToString() == null || num.ToString() == "") return "-";
            else
                return Decimal.Parse(num.ToString()).ToString("N0", CultureInfo.InvariantCulture);
        }
        //Creat by SuNV
        //Updated 17/12/2012
        public static string GetNumberInWords(string sNumber)
        {
            if (Convert.ToDouble(sNumber) <= 0) return string.Empty;

            string[] th = { "", "nghìn", "triệu", "tỉ", "nghìn tỉ" };
            string[] dg = { "không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín" };
            string[] tn = { "mười", "mười một", "mười hai", "mười ba", "mười bốn", "mười lăm", "mười sáu", "mười bảy", "mười tám", "mười chín" };
            string[] tw = { "hai mươi", "ba mươi", "bốn mươi", "năm mươi", "sáu mươi", "bảy mươi", "tám mươi", "chín mươi" };

            sNumber = sNumber.Split(new char[] { '.' })[0];
            char[] n = sNumber.ToCharArray();
            string str = "";
            int sk = 0;
            int x = sNumber.Length;

            for (int i = 0; i < x; i++)
            {
                if ((x - i) % 3 == 2)
                {
                    if (n[i] == '1')
                    {
                        i++;
                        str += tn[int.Parse(n[i].ToString())] + " ";
                        sk = 1;
                    }
                    else if (int.Parse(n[i].ToString()) != 0)
                    {
                        str += tw[int.Parse(n[i].ToString()) - 2] + " ";
                        sk = 1;
                    }
                    else if (int.Parse(n[i].ToString()) == 0 && str.EndsWith("trăm ") && (i + 1 < x) && int.Parse(n[i + 1].ToString()) > 0)
                        str += "lẻ ";
                }
                else if ((x - i) % 3 == 1 && str.EndsWith("mươi ") && (n[i] == '1' || n[i] == '5'))
                {
                    if (n[i] == '1')
                        str += " mốt ";
                    else if (n[i] == '5')
                        str += " lăm ";
                    sk = 1;
                }
                else if ((x - i) % 3 == 0 && int.Parse(n[i].ToString()) == 0 && str != "" &&
                    ((i + 1 < x) && int.Parse(n[i + 1].ToString()) > 0 || (i + 2 < x) && int.Parse(n[i + 2].ToString()) > 0))
                {
                    str += "không trăm ";
                    sk = 1;
                }
                else if (int.Parse(n[i].ToString()) != 0)
                {
                    str += dg[int.Parse(n[i].ToString())] + " ";
                    if ((x - i) % 3 == 0) str += "trăm ";
                    sk = 1;
                }
                if ((x - i) % 3 == 1)
                {
                    if (sk > 0) str += th[(x - i - 1) / 3] + ' ';
                    sk = 0;
                }
            }

            return str.Substring(0, 1).ToUpper() + str.Substring(1).Trim().Trim() + " đồng";
        }
    }

    public static class Constant
    {
        public const string URL_HOME = "~/Index.aspx";
        public  const string pathImageSmall = "/Addmin/BackEnd/images/small";
        public  const string pathImageLarge = "/Addmin/BackEnd/images/large";
    }
}
